package edu.fasta.sisinfo2.gui;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.text.DefaultCaret;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.InputMap;
import javax.swing.JComponent;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.KeyStroke;
import javax.swing.WindowConstants;

import edu.fasta.sisinfo2.net.DesconectarJugador;
import edu.fasta.sisinfo2.net.Servidor;
import edu.fasta.sisinfo2.poker.Carta;
import edu.fasta.sisinfo2.poker.PokerControllerCliente;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Event;
import java.awt.Font;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.FlowLayout;
import java.util.Iterator;
import java.util.List;
import java.awt.Toolkit;
import java.awt.SystemColor;
import javax.swing.SwingConstants;
import javax.swing.JFormattedTextField;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.DropMode;
import javax.swing.JScrollBar;
import javax.swing.border.BevelBorder;

public class PantallaJuego extends JFrame{

	/**
	 * 
	 */
	private static final long serialVersionUID = -4242807339958941641L;

	private JPanel contentPane =  new JPanelFondo("/Img/Back1.png",0,0);
	private JTextField CantidadApuestatxt=new JTextField();
	
	
	private JScrollPane scrollPane = new JScrollPane();
	private JTextArea EstadoJuegotextarea=new JTextArea();
	private PokerControllerCliente control;
	
	private JButton CheckButton = new JButton("CHECK");
	private JButton AllinButton = new JButton();
	
	private Icon a3 = new ImageIcon(getClass().getResource( "/Img/Allin3.png" ));
	private Icon a2 = new ImageIcon(getClass().getResource( "/Img/Allin2.png" ));
    private Icon a1 = new ImageIcon(getClass().getResource( "/Img/Allin1.png" ));
    private Icon c1 = new ImageIcon(getClass().getResource( "/Img/Check1.png" ));
    private Icon c2 = new ImageIcon(getClass().getResource( "/Img/Check2.png" ));
    private Icon c3 = new ImageIcon(getClass().getResource( "/Img/Check3.png" ));
    private Icon r1 = new ImageIcon(getClass().getResource( "/Img/Raise1.png" ));
    private Icon r2 = new ImageIcon(getClass().getResource( "/Img/Raise2.png" ));
    private Icon r3 = new ImageIcon(getClass().getResource( "/Img/Raise3.png" ));
    private Icon f1 = new ImageIcon(getClass().getResource( "/Img/Fold1.png" ));
    private Icon f2 = new ImageIcon(getClass().getResource( "/Img/Fold2.png" ));
    private Icon f3 = new ImageIcon(getClass().getResource( "/Img/Fold3.png" ));
    private Icon ca1 = new ImageIcon(getClass().getResource( "/Img/Call1.png" ));
    private Icon ca2 = new ImageIcon(getClass().getResource( "/Img/Call2.png" ));
    private Icon ca3 = new ImageIcon(getClass().getResource( "/Img/Call3.png" ));
    
    
    private JLabel rondaField = new JLabel();
    private JLabel cantJugadoresField = new JLabel();
  

    private int valorCall;
    private int valorSaldo;
    
    private JLabel valorCallLbl = new JLabel(String.valueOf(valorCall));
	private JButton RaiseButton = new JButton("Raise");    
	private JButton FoldButton = new JButton("Fold");
	
	private JButton CallButton = new JButton("Call");
	   
	private static final String CARTA_TAPADA = "/Img/00.png";
	private JPanelFondo carta1 = new JPanelFondo(CARTA_TAPADA,268,186);
	private JPanelFondo carta2 = new JPanelFondo(CARTA_TAPADA,319,186);
	private JPanelFondo carta3 = new JPanelFondo(CARTA_TAPADA,373,186);
	private JPanelFondo carta4 = new JPanelFondo(CARTA_TAPADA,424,186);
	private JPanelFondo carta5 = new JPanelFondo(CARTA_TAPADA,474,186);
	private JPanelFondo cartaJ1 = new JPanelFondo(CARTA_TAPADA,346,290);
	private JPanelFondo cartaJ2 = new JPanelFondo(CARTA_TAPADA,397,290);
	
	
	private JLabel PozoAcumuladotxt = new JLabel("$0");
	
	private final JLabel lblApuestaactual = new JLabel("$0");
	private final JLabel lblSaldoactual = new JLabel("$0");
	private final JLabel lblCantidadJugadores = new JLabel("Cantidad Jugadores");
	

	public PantallaJuego(String titulo, PokerControllerCliente pc){
		super (titulo);
		setSize(800, 560); //ancho y largo
		this.setTitle(titulo);
		this.setLocationRelativeTo(null);

		control = pc;
		CantidadApuestatxt.setBackground(Color.WHITE);
		CantidadApuestatxt.setHorizontalAlignment(SwingConstants.CENTER);
		CantidadApuestatxt.setForeground(Color.BLACK);
		this.getCantidadApuestatxt().setText("");
		
		scrollPane = new JScrollPane(EstadoJuegotextarea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
		contentPane.add(scrollPane);
		EstadoJuegotextarea.setWrapStyleWord(true);
		EstadoJuegotextarea.setEditable(false);
		EstadoJuegotextarea.setForeground(new Color(0, 0, 0));
		EstadoJuegotextarea.setBackground(Color.LIGHT_GRAY);
		scrollPane.setBounds(170, 405, 449, 75);
		EstadoJuegotextarea.setBounds(170, 405, 449, 75);

		DefaultCaret caret = (DefaultCaret)EstadoJuegotextarea.getCaret();
		caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);

		contentPane.setForeground(Color.WHITE);
		
		this.getEstadoJuegotextarea().setText(" Bienvenido al Poker Texas");
		getContentPane().setLayout(null);
		IniciarComponentes();     
				
		//Agarro el JPanel donde se encuentra el JtextField en donde meto la apuesta, y le deshabilito el paste
		Component[] components =contentPane.getComponents();
        disablePasteAction((Component[])components);
        //*********
        
		this.setResizable(false);
		
		setVisible(true); 
		
		this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
		//setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
		
		//agrega listener al boton x
		addWindowListener(new WindowAdapter() {            
			public void windowClosing(WindowEvent we) {
				int option = 
						JOptionPane.showOptionDialog(PantallaJuego.this, "Desea terminar el juego?",""
								,JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null, null, null );
				if( option == JOptionPane.YES_OPTION ) {                

					control.enviarComando(new DesconectarJugador(control.getCliente().getSocketCliente()));  //terminar conexion si esta conectada
					control.getCliente().cerrarConexion();
					System.exit( 0 );
				}else{
					//no hacer nada...
				}
			}
		});
		

	}

	/**
	 * Inicia la pantalla
	 *
	 */

	
	private void IniciarComponentes() {
		
		
		
     

		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	

		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);

		CheckButton = new JButton( "", c1 );
		CheckButton.setRolloverIcon( c2 );
		CheckButton.setPressedIcon(c3);
		CheckButton.setBorder(BorderFactory.createEmptyBorder());
		CheckButton.setContentAreaFilled(false);
		
		CheckButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				control.jugadaCheck();		
			}
		});
		CheckButton.setBounds(323, 492, 146, 28);
		
		//TODO
		
		
		contentPane.add(CheckButton);
		
			
		FoldButton = new JButton( "", f1 );
		FoldButton.setRolloverIcon( f2 );
		FoldButton.setPressedIcon(f3);
		FoldButton.setBorder(BorderFactory.createEmptyBorder());
		FoldButton.setContentAreaFilled(false);
		FoldButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				control.jugadaFold();
			}
		});
		FoldButton.setBounds(473, 492, 146, 28);
		contentPane.add(FoldButton);


		this.getCantidadApuestatxt().setBounds(660, 415, 86, 20);
		contentPane.add(this.getCantidadApuestatxt());
		CantidadApuestatxt.setColumns(10);
		CantidadApuestatxt.setBorder(BorderFactory.createEmptyBorder());
		CantidadApuestatxt.addKeyListener(new KeyAdapter() {
			
			@Override
			public void keyTyped(KeyEvent e)
			   {
			      char caracter = e.getKeyChar();

			      // Verificar si la tecla pulsada no es un digito
			      if(((caracter < '0') ||
			         (caracter > '9')) &&
			         (caracter != '\b' /*corresponde a BACK_SPACE*/))
			         
			      {
			         e.consume();  // ignorar el evento de teclado
			      }
			   }
			@Override
			public void keyReleased(KeyEvent arg0) {
				int parseInt = -1;
				
				try {
					parseInt = Integer.parseInt(CantidadApuestatxt.getText());
				} catch (Throwable e) {
					
					arg0.consume();
				}
				
				if ((parseInt <= valorCall) || (parseInt > valorSaldo) ){
					RaiseButton.setEnabled(false);
				}else{
					RaiseButton.setEnabled(true);
				}
			}
		});
		
		RaiseButton = new JButton( "", r1 );
		RaiseButton.setRolloverIcon( r2 );
		RaiseButton.setPressedIcon(r3);
		RaiseButton.setBorder(BorderFactory.createEmptyBorder());
		RaiseButton.setContentAreaFilled(false);	
		RaiseButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				control.jugadaRaise();
			}
		});

		RaiseButton.setBounds(631, 405, 144, 56);
		contentPane.add(RaiseButton);

		
		
		carta1.setSize(65,88);
		carta1.setLocation(222, 162);
		
		carta2.setSize(65,88);
		carta2.setLocation(291, 162);

		carta3.setSize(65,88);
		carta3.setLocation(360, 162);
		
		carta4.setSize(65,88);
		carta4.setLocation(429, 162);
		
		carta5.setSize(64,86);
		carta5.setLocation(498, 162);
		
		cartaJ1.setSize(65, 88);
		cartaJ1.setLocation(323, 277);
		
		cartaJ2.setSize(65, 88);
		cartaJ2.setLocation(397, 277);
		
		contentPane.add(carta1);
		contentPane.add(carta2);
		contentPane.add(carta3);
		contentPane.add(carta4);
		contentPane.add(carta5);
		contentPane.add(cartaJ1);
		contentPane.add(cartaJ2);
		PozoAcumuladotxt.setFont(new Font("Wide Latin", Font.BOLD, 25));
		PozoAcumuladotxt.setHorizontalAlignment(SwingConstants.CENTER);
		

		PozoAcumuladotxt.setForeground(Color.RED);
		PozoAcumuladotxt.setBounds(335, 101, 252, 36);
		contentPane.add(PozoAcumuladotxt);
		lblSaldoactual.setFont(new Font("Wide Latin", Font.BOLD, 25));
		lblSaldoactual.setHorizontalAlignment(SwingConstants.CENTER);
		lblSaldoactual.setForeground(Color.GREEN);
		
		
		
		lblSaldoactual.setBounds(0, 24, 252, 36);
		contentPane.add(lblSaldoactual);
		lblApuestaactual.setFont(new Font("Wide Latin", Font.BOLD, 25));
		lblApuestaactual.setHorizontalAlignment(SwingConstants.CENTER);
		lblApuestaactual.setForeground(Color.YELLOW);
		lblApuestaactual.setBounds(542, 24, 252, 36);
		
		contentPane.add(lblApuestaactual);
		
		AllinButton = new JButton( "", a1 );
		AllinButton.setRolloverIcon( a2 );
		AllinButton.setPressedIcon(a3);
		AllinButton.setBorder(BorderFactory.createEmptyBorder());
        AllinButton.setContentAreaFilled(false); 
		AllinButton.setBounds(170, 492, 146, 28);
		
		contentPane.add(AllinButton);
		valorCallLbl.setHorizontalAlignment(SwingConstants.CENTER);
		
		
		valorCallLbl.setBounds(45, 417, 77, 16);
		contentPane.add(valorCallLbl);
		
		
		CallButton = new JButton( "", ca1 );
		CallButton.setRolloverIcon( ca2 );
		CallButton.setPressedIcon(ca3);
		CallButton.setBorder(BorderFactory.createEmptyBorder());
		CallButton.setContentAreaFilled(false);		
		CallButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				control.jugadaCall(valorCall);
			}
		});
		CallButton.setBounds(12, 405, 144, 56);
		contentPane.add(CallButton);
		
		JLabel lblRonda = new JLabel("Ronda");
		lblRonda.setFont(new Font("SansSerif", Font.BOLD, 12));
		lblRonda.setForeground(Color.WHITE);
		lblRonda.setBounds(55, 475, 55, 16);
		contentPane.add(lblRonda);
		rondaField.setHorizontalAlignment(SwingConstants.CENTER);
		rondaField.setFont(new Font("Wide Latin", Font.BOLD, 14));
		rondaField.setForeground(Color.BLUE);
		
		
		rondaField.setBounds(37, 493, 87, 20);
		contentPane.add(rondaField);
		lblCantidadJugadores.setForeground(Color.WHITE);
		lblCantidadJugadores.setFont(new Font("SansSerif", Font.BOLD, 12));
		lblCantidadJugadores.setBounds(645, 475, 134, 16);
		
		contentPane.add(lblCantidadJugadores);
		cantJugadoresField.setHorizontalAlignment(SwingConstants.CENTER);
		cantJugadoresField.setFont(new Font("Wide Latin", Font.BOLD, 14));
		cantJugadoresField.setForeground(new Color(255, 200, 0));
		cantJugadoresField.setBounds(660, 493, 86, 20);
		
		contentPane.add(cantJugadoresField);
		JScrollPane scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,  JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
		scrollPane.setBounds(0, 0, 0, 0);
		contentPane.add(scrollPane);
		
		EstadoJuegotextarea.setEditable(false);

		
		AllinButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				control.jugadaAllIn(valorSaldo);
			}
		});
		

		
		
		paintComponents(getGraphics());
		
		super.paint(getGraphics());
		inhabilitarPantalla();
	}

	public void disablePasteAction(Component[] components){

        for (Component campo : components){
            InputMap map = ((JComponent) campo).getInputMap();
            map.put(KeyStroke.getKeyStroke(KeyEvent.VK_V, Event.CTRL_MASK), "null");
            map.put(KeyStroke.getKeyStroke(KeyEvent.VK_INSERT, Event.SHIFT_MASK), "null");
        }

    }	
	
	public void cargarCartasMesa(){
		carta1.paintCard(this.contentPane.getGraphics());//le digo al JPanell que contiene la carta que la vuelva a pintar 
		carta2.paintCard(this.contentPane.getGraphics()); //Metodo redefinido en JPanelFondo
		carta3.paintCard(this.contentPane.getGraphics());
		carta4.paintCard(this.contentPane.getGraphics());
		carta5.paintCard(this.contentPane.getGraphics());
		//TODO
		

	}
	
	public void cargarCartasJugador() {
		cartaJ1.paintCard(this.contentPane.getGraphics());
		cartaJ2.paintCard(this.contentPane.getGraphics());
		
	}
	
	
	public void inhabilitarPantalla(){
		this.getCallButton().setEnabled(false);
		this.getCheckButton().setEnabled(false);
		this.getRaiseButton().setEnabled(false);
		this.getFoldButton().setEnabled(false);
		this.getAllinButton().setEnabled(false);
	}

	/**
	 * 
	 * @param apuesta
	 * @param saldo
	 * @param estadoJuego
	 * @param cartasMesa
	 * @param cartasJugador
	 * @param apuestaActual
	 * @param pozoAcumulado
	 */
	public void actualizarPantalla(String apuesta, String saldo, String estadoJuego, List cartasMesa, List cartasJugador, 
			String apuestaActual, String pozoAcumulado, String numeroRonda, String cantidadJugadores) {
	
		String pathCarta1 = CARTA_TAPADA;
		String pathCarta2 = CARTA_TAPADA;
		
		CantidadApuestatxt.setText("");
		if(cartasJugador != null){
			Carta carta1Jugador = (Carta)cartasJugador.get(0);
			Carta carta2Jugador = (Carta)cartasJugador.get(1);
			pathCarta1 = "/Img/" + carta1Jugador.getPalo() + carta1Jugador.getPuntaje() + ".png";
			pathCarta2 = "/Img/" + carta2Jugador.getPalo() + carta2Jugador.getPuntaje() + ".png";
		}		
		
		this.getCantJugadoresField().setText(cantidadJugadores);
		this.getRondaField().setText(numeroRonda);
		//this.getCantidadApuestatxt().setText(apuesta);
		
		this.setValorCall(Integer.parseInt(apuesta));
		
		if(saldo!=null){
			this.setValorSaldo(Integer.parseInt(saldo));
		}

		this.getLblSaldoactual().setText("$" + saldo);                

		
		Iterator it = cartasMesa.iterator();
		int i = 0;
		while(it.hasNext()){
			Carta unaCarta = (Carta) it.next();
			i++;
		}
		
		switch(i){
		case 3:
			this.setCarta1("/Img/" + ((Carta)cartasMesa.get(0)).getPalo() + ((Carta)cartasMesa.get(0)).getPuntaje() + ".png");
			this.setCarta2("/Img/" + ((Carta)cartasMesa.get(1)).getPalo() + ((Carta)cartasMesa.get(1)).getPuntaje() + ".png");
			this.setCarta3("/Img/" + ((Carta)cartasMesa.get(2)).getPalo() + ((Carta)cartasMesa.get(2)).getPuntaje() + ".png");
		break;
		case 4:
			this.setCarta4("/Img/" + ((Carta)cartasMesa.get(3)).getPalo() + ((Carta)cartasMesa.get(3)).getPuntaje() + ".png");
		break;
		case 5:
			this.setCarta5("/Img/" + ((Carta)cartasMesa.get(4)).getPalo() + ((Carta)cartasMesa.get(4)).getPuntaje() + ".png");
		break;
		}

		
		
		if(estadoJuego != null){
			this.getEstadoJuegotextarea().setText(estadoJuego);
		}
		
		
		this.getLblApuestaactual().setText("$" + apuestaActual);
		
		this.getPozoAcumuladotxt().setText("$" + pozoAcumulado);

		if (saldo=="0"){
			inhabilitarPantalla();
			this.getCheckButton().setEnabled(true);
		}
		

		this.setCartaJ1(pathCarta1);
		this.setCartaJ2(pathCarta2);
	
		this.cargarCartasJugador();
		this.cargarCartasMesa();
		
		this.getValorCallLbl().setText(String.valueOf(valorCall));
		
		if((valorCall==0) || (valorCall > valorSaldo)){
			CallButton.setEnabled(false);
		}
	
		if(valorSaldo == 0){
			AllinButton.setEnabled(false);
		}
		
		if((valorCall > 0) && (valorCall < valorSaldo)){
			CheckButton.setEnabled(false);
		}
	
		
	}

	/**
	 * 
	 * @param apuesta
	 * @param saldo
	 * @param estadoJuego
	 * @param cartasMesa
	 * @param cartasJugador
	 * @param apuestaActual
	 * @param pozoAcumulado
	 */
	public void iniciarPantalla(String apuesta, String saldo, String estadoJuego, List cartasMesa, List cartasJugador, 
			String apuestaActual, String pozoAcumulado, String numeroRonda, String cantidadJugadores) {
		String pathCarta1 = CARTA_TAPADA;
		String pathCarta2 = CARTA_TAPADA;
		if(cartasJugador != null){
			Carta carta1Jugador = (Carta)cartasJugador.get(0);
			Carta carta2Jugador = (Carta)cartasJugador.get(1);
			pathCarta1 = "/Img/" + carta1Jugador.getPalo() + carta1Jugador.getPuntaje() + ".png";
			pathCarta2 = "/Img/" + carta2Jugador.getPalo() + carta2Jugador.getPuntaje() + ".png";
		}		

		this.getCantJugadoresField().setText(cantidadJugadores);
		this.getRondaField().setText(numeroRonda);
		//this.getCantidadApuestatxt().setText(apuesta);
		
		this.getLblSaldoactual().setText("$" + saldo);    

		if(saldo!=null){
			this.setValorSaldo(Integer.parseInt(saldo));
		}
		this.getEstadoJuegotextarea().setText(estadoJuego);
		
		this.getLblApuestaactual().setText("$" + apuestaActual);
		
		this.getPozoAcumuladotxt().setText("$" + pozoAcumulado);
		
		this.setCarta1(CARTA_TAPADA);
		this.setCarta2(CARTA_TAPADA);
		this.setCarta3(CARTA_TAPADA);
		this.setCarta4(CARTA_TAPADA);
		this.setCarta5(CARTA_TAPADA);
		
		this.setCartaJ1(pathCarta1);
		this.setCartaJ2(pathCarta2);

		
		this.cargarCartasJugador();     
		this.cargarCartasMesa();
		
		if(apuesta!=null){
			this.setValorCall(Integer.parseInt(apuesta));
		}		
		
		this.getValorCallLbl().setText(String.valueOf(valorCall));
		
		if((valorCall==0) || (valorCall > valorSaldo)){
			CallButton.setEnabled(false);
		}
	
		if(valorSaldo == 0){
			AllinButton.setEnabled(false);
		}
		
		if((valorCall > 0) && (valorCall < valorSaldo)){
			CheckButton.setEnabled(false);
		}
		
		
	}
	
	public void cerrarGUI(){
		System.exit(0);
	}

	
	public JButton getCheckButton() {
		return CheckButton;
	}


	public void setCheckButton(JButton checkButton) {
		CheckButton = checkButton;
	}


	public JButton getFoldButton() {
		return FoldButton;
	}


	public void setFoldButton(JButton foldButton) {
		FoldButton = foldButton;
	}


	public JButton getCallButton() {
		return CallButton;
	}


	public void setCallButton(JButton callButton) {
		CallButton = callButton;
	}


	public JButton getAllinButton() {
		return AllinButton;
	}


	public void setAllinButton(JButton allinButton) {
		AllinButton = allinButton;
	}


	public JButton getRaiseButton() {
		return RaiseButton;
	}


	public void setRaiseButton(JButton raiseButton) {
		RaiseButton = raiseButton;
	}


	public JLabel getPozoAcumuladotxt() {
		return PozoAcumuladotxt;
	}


	public void setPozoAcumuladotxt(JLabel pozoAcumuladotxt) {
		PozoAcumuladotxt = pozoAcumuladotxt;
	}

	public int getValorCall() {
		return valorCall;
	}


	public void setValorCall(int valorCall) {
		this.valorCall = valorCall;
	}


	public JPanel getCartaJ1() {
		return cartaJ1;
	}

	public void setCartaJ1(String path) {
		this.cartaJ1 = new JPanelFondo(path,323,277);
		this.cartaJ1.setBounds(323, 277, 64, 86);
	}
	
	public JPanel getCartaJ2() {
		return cartaJ2;
	}

	public void setCartaJ2(String path) {
		this.cartaJ2 = new JPanelFondo(path,397,277);
		this.cartaJ2.setBounds(397, 277, 64, 86);
	}

	
	public JPanel getCarta1() {
		return carta1;
	}

	public void setCarta1(String path) {
		this.carta1 = new JPanelFondo(path,222,162);
		this.carta1.setSize(64,86);
		this.carta1.setLocation(222, 162);
	}

	public JPanel getCarta2() {
		return carta2;
	}

	public void setCarta2(String path) {
		this.carta2 = new JPanelFondo(path,291,162);
		this.carta2.setSize(64,86);
		this.carta2.setLocation(291, 162);

	}

	public JPanel getCarta3() {
		return carta3;
	}

	public void setCarta3(String path) {
		this.carta3 = new JPanelFondo(path,360,162);
		this.carta3.setSize(64,86);
		this.carta3.setLocation(360, 162);
	}

	public JPanel getCarta4() {
		return carta4;
	}

	public void setCarta4(String path) {
		this.carta4 = new JPanelFondo(path,429,162);
		this.carta4.setSize(64,86);
		this.carta4.setLocation(429, 162);
	}

	public JPanel getCarta5() {
		return carta5;
	}

	public void setCarta5(String path) {
		this.carta5 = new JPanelFondo(path,498,162);
		this.carta5.setSize(64,86);
		this.carta5.setLocation(498, 162);
	}
	
	public JTextField getCantidadApuestatxt() {
		return CantidadApuestatxt;
	}


	public void setCantidadApuestatxt(JTextField cantidadApuestatxt) {
		CantidadApuestatxt = cantidadApuestatxt;
	}

	public JTextArea getEstadoJuegotextarea() {
		return EstadoJuegotextarea;
	}


	public void setEstadoJuegotextarea(JTextArea estadoJuegotextarea) {
		EstadoJuegotextarea = estadoJuegotextarea;
	}

	public JLabel getLblApuestaactual() {
		return lblApuestaactual;
	}

	public JLabel getLblSaldoactual() {
		return lblSaldoactual;
	}

	public JLabel getValorCallLbl() {
		return valorCallLbl;
	}

	public void setValorCallLbl(JLabel valorCallLbl) {
		this.valorCallLbl = valorCallLbl;
	}

	public int getValorSaldo() {
		return valorSaldo;
	}

	public void setValorSaldo(int valorSaldo) {
		this.valorSaldo = valorSaldo;
	}

	public JLabel getRondaField() {
		return rondaField;
	}

	public void setRondaField(JLabel rondaField) {
		this.rondaField = rondaField;
	}

	public JLabel getCantJugadoresField() {
		return cantJugadoresField;
	}

	public void setCantJugadoresField(JLabel cantJugadoresField) {
		this.cantJugadoresField = cantJugadoresField;
	}

	public PokerControllerCliente getControl() {
		return control;
	}

	public void setControl(PokerControllerCliente control) {
		this.control = control;
	}
}
